﻿using System;
using System.Collections.Generic;
using System.Data.Entity;
using System.Linq;
using System.Web;
using System.Web.Services;
using TS2015.Models;

namespace TS2015
{ 
    [WebService(Namespace = "http://tempuri.org/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [System.ComponentModel.ToolboxItem(false)]
    // To allow this Web Service to be called from script, using ASP.NET AJAX, uncomment the following line. 
    // [System.Web.Script.Services.ScriptService]
    public class receiveresultepu : System.Web.Services.WebService
    {
        [WebMethod]

        public string ResultRequest(string username, string password, string serviceid, string msisdn, string chargetime, string parameters, string mode, string amount)
        {
            //0	Success
            //1	Failed

            //300	Invalid Parameter(s)
            //301	Invalid username or password
            //302	Server too busy
            using (var db = new TS2015Context())
            {
                string result = "";
                var item = db.TbThiSinhs.Where(e => e.MaTS == parameters);
                //Kiểm tra có tìm thấy thí sinh không
                if (item.Count() == 1)
                {
                    var _item = item.First();
                    // Nếu chưa đóng tiền thì cập nhật trạng thái 
                    if (!_item.TrangThaiDongTien)
                    {
                        _item.TrangThaiDongTien = true;
                        _item.NgayDongTien = DateTime.Now;
                        _item.TrangThaiHoanThanh = true;
                        db.Entry(_item).State = EntityState.Modified;
                        db.SaveChanges();

                        result = "0"; // Trả về mã trạng thái kích hoạt thành công là 0
                    }
                    else
                        result = "1"; // Mã trạng thái đã đóng tiền là 1
                }
                else
                    result = "300"; // Mã trạng thái không có Mã Thí sinh là 300;

                db.TbLogServices.Add(new TbLogService
                {
                    parameters = parameters,
                    amount = amount,
                    chargetime = chargetime,
                    mode = mode,
                    msisdn = msisdn,
                    service = "receive result",
                    result = result,
                    username=username,
                    password=password,
                    serviceid=serviceid,
                });
                db.SaveChanges();
                return result;
            }
        }
    }
}
